SYNTAX ZX80'
A PUBLICATION OF THE HARVARD GROUP
VOL. 2 NO. 11 _ ISSN 0273-2696 NOV., 1981
IN THIS ISSUE
CAI SHIPS WIDGETS
4K Programs
Sine Calculation . 16
Reverse . 17
8K Programs
Super Monzxer . 3
Digital Clock . 15
Reverse . 17
Beginners' Column
REM Revisited . 18
Book Review
ZX81 Companion . 14
Classified Ads . 19
Dear Editor . 12
Dear Sinclair . 15
Hardware Hints . 3
Hardware Review
Sinclair ZX81 . 13
Machine Language
8K ROM Potpourri . 7
News , New Products ....1,2
Program Changes . 2
Software Review
Zeta Software . 8
Index of Advertisers
Insight . 14
JRS Software . 16
Lamo-Lem Labs . 18
Sinclair Research .. 10 , 11
Zeta Software . 13
Subscription Info . 19
At presstime, CAI ' s Bob Swann confirmed
reader reports- - 100 ' s of Widgets shipped.
Expect printers in 2 wks , tape drives in 4.
Widgets chew up the top 4K of memory-- 2 for
tape and 2 for printer. But-- look for CAI to
sell 48K add-on memories.
Widgets now cost $79.95, but CAI knocks
$10 off for each additional peripheral you'
buy. . Swann says the 21-IC board uses EPROMS
permitting software updating. Their tests
show Widgets compatible with all setups
EXCEPT MicroAce Flicker-Free boards .
CAI announced new policies for better
service: product PHOTOS in future ads and no
orders taken for undeliverable devices.
MULTIPURPOSE MEMORY EXPANSION
SABRE Systems has developed a multi¬
purpose memory expansion board to use in a
variety of RAM/EPROM combinations. The board
contains decode logic plus two 28-pin sockets
that can contain the new 2Kx8 CMOS RAM chips
or several varieties of EPROM (erasable
programmable read-only memory) ICs , such as
the 2716, 2732, 2764 or 2532. Jumpers on
board accomodate multiple device types and
varied IC pinouts on a single plug-in board.
The boards come with either 2K or 4K
RAM. They draw 25 mA and are easily powered
by the ZX80 power supply.
If you program your own EPROMs, you can
store up to 8K of utilities and assembly lan¬
guage programs in each IC slot using 2764s.
SABRE also offers an EPROM programmer
that plugs into the ZX80. Wire-wrapped
versions will be offered on a limited, as-
ordered basis. According to Fayne Sisco of
SABRE, a BASIC format is being developed to
let users build their EPROM data on tape.
SABRE will program EPROMs from tape files.
Contact Fayne Sisco, SABRE Systems 1719
Autrey, Deer Park, TX, 77536.
ANNIVERSARY ISSUE
SYNTAX ERRORS: INSIGHT's telephone
number in their classified ad (Oct.
81 p.16) should read 616/684-7868.
Jon Passler noticed an error in his
8K Roundoff routine (Oct. 81). To
use three decimal places, change 0
to 00 (LEN N$ TO) . Error is in
second paragraph of text.
CHANGES TO AMAZING ACTIVE DISPLAY
John Sampson of College Point,
NY, called in response to the
letter in the Oct. 81 issue about
The Amazing Active Display. With
these changes to the version on p.
68 of Making the Most of Your ZX80 ,
which correct typos and convert to
American TV, the program runs on 4K
ROM and IK RAM.
In line 30 defining M$ , change
the 61st and 62nd hex digits (DE)
to FE . Change the 75th and 76th
(38) to 20. Change the 111th and
112th (EC) to FC.
INVERSE BIG CHARACTERS
To print 8x size characters in
reverse video, change these lines
from Big Characters (Dec. 80):
140 PRINT "
160 PRINT CHR$ (128) ;
Print 4x size characters in
reverse video by modifying Son of
Big Characters (Feb. 81). Enter the
original decimal listing:
0 4 6 2 5 131 8 135 7...
in reverse order:
128 132 134 130 133 3 136...
Paul Ezra, San Diego, CA
R.B. Turner plans to interface
his 4K/ 2K MicroAce to the MM57109
programmable calculator chip to
provide many scientific calcula¬
tions. He's also v.7orking on an
8255 peripheral interface adapter
I/O chip for programmable input/
output from the MicroAce zo 3 I/O
ports. He wants offer PC board
kits to SYNTAX readers. For more
details, contact Mr. Turner at 109
Chesney Ln , Columbia, SC 24 209.
SINCLAIR'S PRINTER SHOWN IN US
Clive Sinclair of Sinclair
Research demonstrated his ZX81
printer at the the US introduction
of the ZX81 computer in Boston on
Oct. 7. Although in production in
England, the printers cannot be
imported into the US until they get
FCC approval. Sinclair expects
approval near the end of the year.
This sample hardcopy output
from a ZX81 on a Sinclair printer
shows its print size and readabil¬
ity. The aluminized paper is about
4 inches wide. The program draws
the curve printed above it and
takes more than IK RAM.
■ m
m m
9 »
% «F
m m
\ /
10 DIM C(64)
2@ FOR U-X TO 64-
30 LET C (U> =£24-20* (SIH 1 CU-i*
-32*PI) 5
4-0 NEXT U
100 FOR G = X TO 64-
110 PLOT G-l,CfG)
115 NEXT G
117 SOSUB 1000
120 COPY
125 GOSUB 1000
130 LLIST
135 FOR H~1 TO 6
14-0 L.PRINT
145 NEXT H
1000 IF INKEY $ <> THEN RETURN
1010 SOTO 1©@0
This version runs on a IK ZX81:
10 FOR X=0 TO 64 STEP 8
20 FOR V=X TO 63+X
30 PLOT V-64*INT X/ 64 , 22+20* (S
IN V/ (32-PI))
40 NEXT V
50 NEXT X
To make a longer series of sine
curves , add 15 CLS
2
HARDWARE HINTS
SUPER MONZXER
Herb Sturges, Orinda, CA,
called in these hardware tips:
If your ZX80 overheats easily,
you can increase the capacity of
its aluminum heat sink to dissipate
heat with a little paint and a
coping saw. Aluminum painted with
flat black paint has 20 times
polished aluminum's ability to
release heat. Remove the heat
sink, paint it black, and let it
dry before reinstalling. Then use
a small hand coping saw to cut
through the black lines on the top
of the case so all that heat can
escape. **Caution--if you use an
electric saw, use a coarse- toothed
blade, because the case will melt
under the friction of a fine¬
toothed blade. Heat sink compound
(silicon and zinc oxide) between
the regulator and the heat sink
also helps.
To minimize the danger of static
electricity zapping your ICs,
ground the ZX80 edge connector with
aluminum foil. Simply fold the
foil over the top and bottom edges
and affix with cellophane tape.
To improve insulation under the
regulator, replace the cardboard
with fiberglass of the same size
and thickness.
To label big keyboards : Remove the
ZX80 keyboard map (that little
sheet under the front rivets) and
have it photocopied in color. Cut
out squares and paste to keys with
rubber cement or epoxy.
REDUCE 4K LOADING NOISE
4K ROM users: instead of building
our Cassette Eavesdropper (Dec. 80)
to reduce loading noise, try a dual
mini-plug from Radio Shack (part #
274-310). It's just $1.59 and does
the same thing in a small package.
Tip from Marty Irons, Goshen, NY.
This 8K/16K adventure game of
survival challenges you with man-
eating spiders, giant bats, pits
and monzxers . You are in a cave
with 5 levels of 20 rooms each.
With only 3 arrows, you must kill
three monzxers to emerge alive.
If you enter a spider room (2
per level) , you are caught in their
web and must shoot them, but they
are gone after you shoot them.
Pits (2 per level) drop you a
level if you are at level 4 or
higher, but the room you land in
may not be safe. Level 5 contains
bottomless pits (ending the game) .
If you enter a room with bats
(2 per level) , they carry you to
another room (perhaps not safe) on
the same level and return.
One room in the cave contains
a sword. If you go in that room,
the sword is yours to keep.
Three monzxers lurk in the
cave, not necessarily on different
levels. If you enter their room,
they will instantly kill you unless
you have a sword. Kill a monzxer
by shooting an arrow into its room.
The computer warns you of
nearby threats. One room away from
a pit, it prints 'I FEEL A DRAFT. '
One room from a spider it says
'I SEE COBWEBS. ' One room from
bats you read 'BATS NEARBY. ' One
or two rooms from a monzxer, your
guide says 'I SMELL A MONZXER.'
The computer gives your posi¬
tion and which 3 rooms there are
tunnels to on the same level. You
can move or shoot, then specify the
room to enter or the arrow's path.
The arrow will not fall in a pit,
be carried by bats, or stop in a
spider's room. If its path returns
it to your room, it kills you.
The game ends when you kill
all 3 monzxers, shoot yourself, a
spider or a monzxer eats you, or
you fall in a bottomless pit. To
exit early, hit BREAK when it asks
"MOVE OR SHOOT?"
I'd like to hear from others
3
about this program or anyone having
trouble with the 16K RAM dumping
out programs. I wrote a program to
play Monopoly against the computer;
please write if you're interested.
Andrew Q. Banta, R.D. #7
Bethlehem, PA, 18015
(For a description of line and sub¬
routine functions, send us a self-
addressed stamped envelope . --AZ)
1 RAND
10 PRINT AT 10, 4; "AN A. Q. BAN
TA PRODUCTION"
20 PAUSE 300
25 POKE 16437,255
30 CLS
50 PRINT AT 1 0 , 20 ; "SUPER"
60 PRINT AT 12,18; "MONZXER"
70 FOR 1=3 TO 37
80 FOR J=1 1 TO 19
90 PLOT J,I
100 NEXT J
1 10 NEXT I
120 FOR 1=16 TO 24
1 30 FOR J=8 TO 22
140 PLOT J,I
150 NEXT J
160 NEXT I
170 FOR 1=22 TO 32
180 PLOT 6,1
190 PLOT 24,1
200 NEXT I
210 PLOT 5,22
220 PLOT 7,22
225 PLOT 7,21
230 PLOT 23,22
235 PLOT 25,22
240 PLOT 23,21
245 PLOT 25,21
250 PLOT 9,35
255 PLOT 10,35
265 PLOT 10,36
270 PLOT 20,36
275 PLOT 20,35
280 PLOT 21,35
285 FOR 1=14 TO 16
290 FOR J=3 TO 16
295 UNPLOT I,J
300 NEXT J
305 NEXT I
30 7 PLOT 23, 33
312 PLOT 7,33
31 5 PLOT 7, 32
320 FOR 1=5 TO 25
325 IF 1=14 THEN LET 1=17
330 PLOT 1,3
335 NEXT I
338 FOR 1=6 TO 24
340 IF 1=14 THEN LET 1=17
342 PLOT 1,4
345 NEXT I
350 PRINT AT 21,3;""" """
352 PRINT AT 21,9;""" """
355 PRINT AT 7,5; "Q"
357 PRINT AT 7,9; "Q"
360 PRINT AT 9 , 5"
365 PRINT AT 5,22;" - /"
370 PRINT AT 4,28; "/"
375 PRINT AT 3,29 ; "/"
380 PRINT AT 2,30 ; "/"
382 UNPLOT 8,17
385 UNPLOT 8,16
387 UNPLOT 9,16
390 UNPLOT 21,16
392 UNPLOT 22,16
395 UNPLOT 22,17
397 PAUSE 600
398 POKE 16437,255
400 DIM R( 3, 10 1 )
401 DIM A ( 6)
402 FOR 1=1 TO 3
403 LET R ( I , 1 0 1 ) = 1 0 1
404 NEXT I
406 LET SW=0
407 LET DM=0
408 FOR L=0 TO 80 STEP 20
410 FOR 1=1 TO 20
415 LET K=£j+I
420 FOR J=1 TO 3
422 LET J1=J
425 IF J1CINT ((I-D/5) THEN LE
T J1=J1-1
430 IF R ( J , K) > 0 THEN GOTO 495
435 LET G=INT ( RND* 5 ) + J 1 * 5 + L+ 1
436 FOR M= 1 TO 5
4 37 IF R ( J , L+M+INT ( ( I— 1 ) /5 ) * 5 )
=G THEN GOTO 435
438 NEXT M
440 FOR H= 1 TO 3
445 IF R (H , G) =K THEN GOTO 435
450 IF R (H , G) =0 THEN GOTO 465
455 NEXT H
460 GOTO 435
465 LET R ( J , K) =G
490 LET R(H,G)=K
495 NEXT J .
4
500 NEXT I
510 NEXT L
525 LET YR=INT (RND*20)+1
535 LET S 1 =6
610 DIM X ( 36 )
620 DIM T ( 30 )
630 DIM C ( 30)
640 DIM Q ( 30 )
650 DIM W ( 3)
660 DIM S ( 1 0)
670 DIM B ( 1 0)
680 DIM P { 10)
690 LET DM=0
695 LET SW=0
700 LET SR=INT (RND*100)+1
710 FOR 1=1 TO 3
720 LET W ( I ) =INT (RND*100)+1
725 IF W(I)=YR THEN GOTO 720
730 NEXT I
740 FOR 1=1 TO 9 STEP 2
745 FOR J=0 TO 1
750 LET S ( I+J ) = ( INT (RND*20)+1)
+20*INT (1/2)
760 LET B ( I+J ) = ( INT (RND*20)+1)
+20*INT (1/2)
770 LET P ( I+J ) = ( INT (RND*20)+1)
+20*INT (1/2)
780 NEXT J
790 NEXT I
800 FOR 1=0 TO 9
810 FOR J=1 TO 3
820 LET T (I*3+J) =R ( J, S (1+1 ) )
830 LET C (I*3+J) =R(J,B (1+1 ) )
840 LET Q (I*3+J) =R( J,P (1+1 ) )
850 NEXT J
860 NEXT I
870 FOR 1=0 TO 2
880 FOR J=1 TO 3
890 LET X(I*3+J)=R(J,W(I+1) )
900 FOR L= 1 TO 3
910 LET GG= ( (J-1)*3)+(I*9) +L+9
920 LET X (GG) =R (L , X ( I* 3+J ) )
930 NEXT L
950 NEXT J
960 NEXT I
1000 CLS
1010 LET YL=INT ( ( YR- 1 ) /20 ) + 1
1020 PRINT "YOU/RE ON LEVEL " ; YL
1030 PRINT "YOU/RE IN ROOM " ; YR-
( YL- 1 ) *20
1032 IF YR=SR THEN PRINT "THERE
IS A SWORD IN THE ROOM"
1037 IF YR=SR THEN LET SW=1
1040 FOR 1=1 TO 30
1050 IF YR=T ( I ) THEN GOTO 1080
1060 NEXT I
1070 GOTO 1090
1080 PRINT "I SEE COBWEBS"
1090 FOR 1=1 TO 36
1100 IF YR=X ( I ) THEN GOTO 1130
1110 NEXT I
1120 GOTO 1140
1130 PRINT "I SMELL A MONZXER"
1040 FOR 1=1 TO 30
1150 IF YR=Q ( I ) THEN GOTO 1180
1160 NEXT I
1170 GOTO 1190
1180 PRINT "I FEEL A DRAFT"
1190 FOR 1=1 TO 30
1200 IF YR=C ( I ) THEN GOTO 1230
1210 NEXT I
1220 GOTO 1240
1230 PRINT "BATS NEARBY"
1240 FOR 1=1 TO 3
1250 IF YR=W ( I ) THEN GOTO 1280
1260 NEXT I
1270 GOTO 1300
1280 PRINT "THERE IS A MONZXER I
N YOUR ROOM"
1281 IF SW=1 THEN GOTO 1285
1282 PRINT "AND IT ATE YOU"
1284 GOTO 3000
1285 PRINT "BUT YOU KILLED IT WI
TH YOUR SWORD"
1290 PAUSE 300
1291 POKE 16437, 255
1292 LET DM=DM+ 1
1294 IF DM=3 THEN GOTO 2990
1297 LET W ( I) =1 0 1
1298 GOTO 870
1300 FOR 1=1 TO 10
1310 IF YR=B ( I ) THEN GOTO 1340
1320 NEXT I
1330 GOTO 1380
1340 CLS
1350 LET YR= ( INT ( RND* 20 ) + 1 ) + ( YL
-1 ) *20
1360 PRINT "BATS TOOK YOU TO ROO
M " ; YR- 4YL-1 ) *20
1370 GOTO 1010
1380 FOR 1=1 TO 10
1390 IF YR=S(I) THEN GOTO 1470
1400 NEXT I
1410 GO TO 1430
1420 PRINT "THERE IS A SPIDER IN
YOUR ROOM"
1430 FOR 1=1 TO 10
1440 IF YR=P ( I ) THEN GOTO 1470
1450 NEXT I
1460 GOTO 1540
1470 IF YL=5 THEN GOTO 1520
1480 CLS
1490 PRINT "YOU FELL IN A PIT"
1 500 LET YR=YRt 2 0
1510 GOTO 1010
1520 PRINT "YOU FELL INTO A BOTT
OMLESS PIT"
1530 GOTO 3000
1540 PRINT "TUNNELS TO ROOMS
1550 FOR 1=1 TO 3
1560 PRINT " " ;R(I,YR) - (YL-1 ) *20
1570 NEXT I
1580 PRINT
1590 PRINT "MOVE OR SHOOT"
1600 PAUSE 900
1605 POKE 16437,255
1610 LET K$=INKEY$
1620 IF K$="M" THEN GOTO 1650
1630 IF K$= " S " THEN GOTO 2000
1640 GOTO 1600
1650 FOR 1=1 TO 10
1652 IF YR=S ( I ) THEN GOTO 1657
1654 NEXT I
1656 GOTO 1659
1657 PRINT "THE SPIDER GOT YOU"
1658 GOTO 3000
1659 PRINT "WHICH ROOM?"
1660 INPUT YR1
1670 FOR 1=1 TO 3
1680 IF YR1=R(I,YR) - (YL-1 ) *20 TH
EN GOTO 1720
1690 NEXT I
1700 PRINT "YOU HIT A WALL"
1710 GOTO 1650
1720 LET YR=YR1+ (YL-1 ) *20
1730 GOTO 1000
2000 LET S 1 =S 1-1
2005 FOR 1=1 TO 10
2010 IF YR=S ( I ) THEN GOTO 2035
2020 NEXT I
2030 GOTO 2060
2035 PRINT "YOU KILLED THE SPIDE
R"
2040 PAUSE 300
2042 POKE 16437,255
2045 LET S (I) =101
2050 GOTO 800
2060 CLS
2070 PRINT "MAKE A LIST OF 5 ROO
MS FOR THE ARROWS FLIGHT"
2080 FOR 1=2 TO 6
2090 INPUT A ( I )
2100 PRINT A ( I )
2105 LET A(I)=A(I)+(YL-1) *20
2110 NEXT I
2 1 20 LET A ( 1 ) =YR
2130 FOR 1=2 TO 6
2140 FOR J=1 TO 3
2150 IF A(I)=R(J,A(I-1) ) THEN GO
TO 2180
2160 NEXT J
2165 LET J=INT (RND*3)+1
2170 LET A ( I ) =R(J,A(I-1 ) )
2 1 80 FOR J=1 TO 3
2190 IF A ( I ) =W ( J ) THEN GOTO 2220
2200 NEXT J
2210 GOTO 2230
2220 PRINT "YOU SLEW A MONZXER"
2221 LET W(J)=101
2222 PAUSE 300
2223 POKE 16437,255
2224 LET DM=DM+ 1
2225 IF DM=3 THEN GOTO 2990
2226 IF S1=0 THEN GOTO 2283
2228 GOTO 870
2230 IF NOT A(I)=YR THEN GOTO 22
60
2240 PRINT "YOU SHOT YOURSELF"
2250 GOTO 3000
2260 NEXT I
2270 PRINT "YOU MISSED THE MONZX
ER"
2280 PAUSE 300
2281 POKE 16437,255
2283 IF S1=0 THEN PRINT "YOU ARE
OUT OF ARROWS"
2285 IF S1=0 THEN GOTO 3000
2290 GOTO 1000
2990 PRINT "NO MORE MONZXERS , YO
U WIN"
3000 PAUSE 600
3002 POKE 16437,255
3005 CLS
3010 PRINT AT 10, 10; "PLAY AGAIN?
II
3020 PAUSE 900
3022 POKE 16437,255
3030 LET K$=INKEY$
3040 IF K$*="Y" THEN GOTO 3070
3050 IF K$= " N " THEN STOP
3060 GOTO 3020
3070 PRINT AT 1 0 , 6 ; " SAME TUNNEL
SET?"
3080 PAUSE 900
3085 POKE 16437,255
3090 LET K$ = INKEY $
3100 IF K$= " Y " THEN GOTO 525
3110 IF K$="N" THEN GOTO 400
3120 GOTO 3080
Syntactic Sum: 41313, 8K
6
NEW 8K ROM POTPOURRI
As you know, Sinclair’s first
8K ROM has a few bugs . By the time
you read this, however, Sinclair
should have received updated,
corrected ROMs which contain four
primary modifications :
1- -The INPUT routine (at 0EE9h in
both 8K ROMs) contains a CALL 14A3h
as the third instruction. This
subroutine, actually part of the
CLEAR routine, clears the memory
area used to hold keyboard input.
It sets the system variables STKEND
and STKBOT equal to E-LINE, the
pointer to the first byte of the
input buffer. The CALL has been
added at OEEFh (new ROM) . Thus ,
all code up to this point is iden¬
tical in both 8K ROMs. Beyond this
address, all code in the new ROM is
offset by three bytes.
2- -In the old 8K ROM, a bug in the
PAUSE routine (at 0F32 in new ROM,
0F2F in old ROM) caused the machine
to crash if you didn’t POKE 16437,
255 after PAUSEing. The offending
instruction (at 0F3D in old ROM)
was a SET 7,(IY+35) where IY held
4000h. This has been replaced with
LD (IY+35),FE. Because of the
three bytes added to the INPUT rou¬
tine, the LD is at 0F40h in the new
ROM. Now you no longer need to
POKE 255 to 16437 every time you
PAUSE with the new 8K ROM.
3- -The evaluation routines are
changed. The old code (at 102Fh in
the new ROM) tested bit 6 of the
system FLAGS. Originally a BIT
instruction, it is now:
LD A, (4001)
CP # CO
This change moves all code beyond
1032h forward another byte.
4- -The floating-point to 16-bit
conversion routine has been
changed. In the new ROM, three
instructions have been deleted:
LD A,H
SUB L
LD H, A
Although I have not fully analyzed
the new 8K ROM, I suspect that
these three instructions, origin¬
ally located at I734h in the old
ROM, are the cause of users’
troubles with numerical calcula¬
tions. The end result of this
deletion is that all code beyond
1737h is moved back three bytes.
These changes result in the
following new 8K ROM map:
Loc. (hex)
0000 NMI Off
Jump to Initialization
0008 Restarts
0066 NMI (Slow) Handler
007E Keyboard Decode Table
00CC Function (Keyboard)
Decode Table
00F3 Graphics (Keyboard)
Decode Table
0111 Command (Keyboard)
Decode Table
01FC I/O Routines
03A2 Initialization and
Editing
0562 Mode/Edit Table
0575 List, etc.
0C29 Command Offset Table
0C48 Command Pointer Table
0D16 Syntax Class Table
0D1D class Evaluation
Routines
0DAB Command Handlers
0F55 Expression Evaluator
1263 String Slicing
14D9 Decimal to Floating
Point Conversion
Routine
158A Floating Point to 16-
Bit Conversion
Routine
174C Handlers for the Four
Basic Arithmetic
Operators
1923 Function Address Table
199D Calculator
1A45 Function Evaluation
Routines
1E00 Character Generator
David Ornstein, Newton, MA
ZX81 2K RAM UPGRADE: Blair Evans
(Arlington, MA) told us of a 2K x 8
RAM chip that will fit the ZX81.
Part # 6116 from Hitachi and others.
7
SOFTWARE REVIEW: ZETA SOFTWARE
Here's an unusual review: a free sample. We feel that one of
Zeta Software's best points is the thorough documentation that comes
with each program, so with Zeta's permission we are reprinting one of
their programs so you can see for yourself just what you get. Jon
Bobst of Zeta customized this program, MOD Name Changer, for SYNTAX.
It is available in his catalog (#45) in a general form. The comments
after the semicolons are explanations of function.
Zeta currently offers 45 4K/1K programs, including games,
educational programs, and programs to help you learn how to use your
computer. No listing costs over $5; most are $1. You can get
programs on cassette for an extra $5. Programs for 8K ROM machines
are in the works. Jon is also working on a SciFi series called
ZetaTrek, to culminate in one mammoth 8K/16K program. For more
information and a free catalog, contact Jon Bobst at Zeta Software,
P.0. Box 3522, Greenville, SC, 29608-3522, 803/246-1741.
©Zeta Software, Greenville, SC, 1981
1 REM mm etc. ;118 shifted A's for MCPause
2 REM hJAi’tl etc. ;71 shifted A's for MCD changer
3 REM B ;Buffer against listing 1 or 2
POKE 16403,3 On edit line with cursor on line 3 to bump 1 and 2 REMs
of f- s creen .
10 POKE 16421 , 24
20 FOR X= 1 TO 5
30 PRINT
40 NEXT X
100 FOR X= 16427 TO 16445
1 1 0 INPUT Y
120 POKE X,Y
1 30 PRINT PEEK (X) ,
140 NEXT X
150 INPUT A$
160 FOR X= 1 6 4 4 6 TO 16544
170 POKE X , PEEK ( X- 16116)
180 NEXT X
; Lie about number of free rows
; Drop display down 5 rows
; Manual input loop
; Input stop to allow table check
; Automatic input loop to complete
; 1 REM with ROM values in
;addresses 330-428
GO TO 100 Enter 19 values :
205
51
64
96
201
205
173
1
62
0
61
200
50
52
64
6
6
16
254
Hit NL to continue filling in 1 REM with ROM values. Edit out lines
150-180.
100 FOR X=1 6549 TO 16619
GO TO 100 Enter 71 values from code sheet into 2 REM. If you happen
to hit HOME, LIST, or move cursor above line 3, move cursor
down a few lines and POKE 16403,3 to bump 1 and 2 off
8
again .
Edit out lines 100-140.
50 PRINT "AAAsAsssAsAsssAsAAAAAssAssAsssA" ;A=shifted A,
60 PRINT "AssssAsAssAAssAsssAsssAsAssAsA" ;s=1 space
70 PRINT " sAssssAsssAsAsAsssAsssAAAsssA"
80 PRINT "ssAsssAsssAssAAsssAsssAsAssAsA"
90 PRINT " AAAsssAsssAsssAsssAsssAsAsAsssA"
100 PRINT
110 PRINT "AAAAAAAAAAAAAA"
120 PRINT "MC DISPLAY BYA"
130 PRINT " JON BOBST A"
140 PRINT "ZETA S OF TWARE AAAAAAAA
AAAAAAAAAAF "
150 FOR X= 1 TO 9
160 PRINT
170 NEXT X
200 LET P=PEEK (16396) +PEEK (16397)
*256+6
210 POKE 16549 ,P- (P/256) *256
220 POKE 16550 , P/256
300 LET D=USR ( 16553)
400 STOP
SAVE RUN
CODE SHEET- -MCD Changer
; 1 4 shifted A ' s
;Last A is shifted
;18 shifted A's and 1 shifted F
; (this char, must be in display)
; Filler loop for 24-row display
; Address of 1st chr in display
;Load 2 REM with that address
;Call subroutine in 2 REM
;Hit BREAK to exit MCD change
loop
ADDRESS
+ 1
+ 2
+ 3
1 6549
0
0
0
0
;Address storage
16553
229
42
165
64
; Initialize subroutine
16557
34
167
64
225
1 6561
229
42
167
64
;This section gets present
16565
35
126
254
0
; address, points to next,
16569
40
27
254
7
; looks in it to see what it
16573
32
6
42
165
;is, and changes chr
1 6577
64
34
167
64
; accordingly
16581
126
254
9
40
16585
8
254
128
32
1 6589
12
54
9
24
16593
8
54
128
24
16597
4 H
6
5
16
; Display synchronizer
1660 1
254
34
167
64
; Save present address
16605
62
2
50
52
; Load 1 REM timer with value
16609
64 |
225
205
43
;Call subroutine in 1 REM
16613
64
124
254
-3
;Test for BREAK key, RETURN
16617
32
198
_J 201
; to BASIC if, loop back if
; not
NOTES:
71 value-s into
2 REM
addresses
16549-16619
9
■ Mathematical and scientific functions
accurate to 8 decimal places
■ Unique one-touch entry of key words
like PRINT, RUN and LIST
■ Automatic syntax error detection and
easy editing
■ Randomize function useful for both
games and serious applications
■ Built-in interface for ZX Printer
■ IK of memory expandable to 16K
The ZX81 is also very convenient
to use. It hooks up to any television set
to produce a clear 32-column by 24-line
Warranty and Service Program**
The Sinclair ZX81 is covered by a
10-day money-back guarantee and a
limited 90-day warranty that includes free
Introducing
the Sinclair ZX81
If you’re ever going to buy
a personal computer, now is the
time to do it.
The new Sinclair ZX81 is the
most powerful, yet easy-to-use
computer ever offered for anywhere
near.the price: only $149.95* completely
assembled.
Don’t let the price fool you. The
ZX81 has just about everything you
could ask for in a personal computer.
A breakthrough
in personal computers
The ZX81 is a major advance over
the original Sinclair ZX80— the world’s
largest selling personal computer and
the first for under $200.
In fact, the ZX81’s new 8K Extended
BASIC offers features found only on com¬
puters costing two or three times as much.
Just look at what you get:
■ Continuous display, including moving
graphics
If you already own a ZX80
The 8K Extended BASIC
chip used in the ZX81 is available
as a plug-in replacement for your
ZX80 for only $39.95, plus shipping
and handling— complete with new key¬
board overlay and the ZX81 manual.
So in just a few minutes, with no
special skills or tools required, you can
upgrade your ZX80 to have all the
powerful features of the ZX81. (You’ll
have everything except continuous dis¬
play, but you can still use the PAUSE
and SCROLL commands to get moving
graphics.)
With the 8K BASIC chip, your
ZX80 will also be equipped to use the
ZX Printer and Sinclair software.
■ Multi-dimensional string and numerical display. And you can use a regular parts and labor through our national
arrays
cassette recorder to store and recall
service-by-mail facilities.
* Plus shipping and handling Price includes connectors programs by name. **Does not apply to ZX81 kits,
for TV and cassette, AC adaptor, and FREE manual.
NEW SOFTWARE:Sinclair has
published pre-recorded pro¬
grams on cassettes for your
ZX81, or ZX80 with 8K BASIC.
We’re constantly coming out
with new programs, so we’ll
send you our latest software
catalog with your computer.
ZX PRINTER: The Sinclair ZX
Printer will work with your ZX81,
or ZX80 with 8K BASIC. It will
be available in the near future
and will cost less than $100.
16K MEMORY MODULE:
Like any powerful, full fledged
computer, the ZX81 is expand¬
able. Sinclair’s 16K memory
module plugs right onto the
back of your ZX81 (or ZX80,
with or without 8K BASIC).
Cost is $99.95, plus shipping
ZX81 MANUAL: The ZX81
comes with a comprehensive
164-page programming guide
and operating manual de¬
signed for both beginners and
experienced computer users.
A $10.95 value, it’s yours free
with the ZX81.
and handling.
Introducing
the ZX81 kit
CALL 800-543-3000. Ask for op¬
erator #509. In Ohio call 800-582-1364.
In Canada call 513-729-4300. Ask for
operator #509. Phones open 24 hours
a day, 7 days a week. Have your Master-
Card or VISA ready.
These numbers are for orders
only. For information, you must write to
Sinclair Research Ltd., One Sinclair Plaza,
Nashua, NH 03061.
If you really want to
save money, and you enjoy
building electronic kits, you
can order the ZX81 in kit form
for the incredible price of just
$99.95* It’s the same, full-featured
computer, only you put it together
yourself. We’ll send complete, easy-
to-follow instructions on how you can
assemble your ZX81 in just a few hours.
All you have to supply is the soldering iron.
How to order
Sinclair Research is the world’s larg¬
est manufacturer of personal computers.
The ZX81 represents the latest
technology in microelectronics, and it
picks up right where the ZX80 left off.
Thousands are selling every week.
We urge you to place your order
for the new ZX81 today. The sooner you
order, the sooner you can start enjoying
your own computer.
To order, simply call our toll free
number, and use your MasterCard or VISA.
To order by mail, please use the
, coupon. And send your check or money
order. We regret that we cannot accept
purchase orders or C.O.DIs.
iinczlaii-
DEAR EDITOR:
The ZX-Microf air in London on
September 26 brought out over 5000
attendees. Many die-hards stood in
the London drizzle for 2 hours.
Inside about 50 stands dealt
with ZX80 systems-- lots of books
and magazines, hardware add-ons and
games. At least 3 chess programs
are running. I expect the best to
be from ARTIC Computing, 396 James
Reckitt Ave. , Hull, UK, £10.
The Microfair also launched my
new book, Understanding the ZX81
ROM. It teaches the elements of
Z80 machine code language program¬
ming through the 8K ROM program.
It applies generally to the 8K ROM,
so it's just as good for 8K ZX80s
as ZX81s. The floating point
routines are not discussed. The
book retails in the UK for £8.95 +
50p postage. Melbourne House will
surely advertise it, but I could
supply copies to SYNTAX readers at
$22 per copy, including airmail, 2
1/2 week delivery.
Ian Logan, 24 Nurses Ln, Skelling-
thorpe, Lincoln, UK LN6 0TT
Last week my MicroAce 8K ROM
finally arrived (after 2 months) .
It has the same bug that Sinclair's
had trouble with. I wrote MicroAce
about this , but thought I should
inform SYNTAX readers. Is MicroAce
going to make good on this?
In June's SYNTAX you quote
David Ornstein as saying the ZX80
can accommodate 48K external RAM.
This agrees with the reverse of the
ZX80 schematic, but disagrees with
Video Display Notes (p.8) and
Beginners' ROM and RAM Addresses
(p.15, both May 81) and my own
experiences in trying to decode
address 15 for memory expansion.
This won't work without internal
hardware changes (ROM decoding) .
I'm not sure how. to do this without
more info on the. display routine.
John L. Oliger, Indianapolis, IN
Kevin Hawkins, MicroAce 's new mana¬
ger, Santa Ana, CA, says he doubts
that MicroAce will replace their
faulty ROMs. If they did, new ROMs
would not be ready until July or
August of 1982 because of the time
needed to make semiconductor
components. And Sinclair may try
to keep MicroAce from selling any
8K ROMs , bugs or no bugs . The
legal situation should shake out in
a few weeks, according to Kevin.
Ornstein verifies the need to
add ROM decoding. On a ZX80 , gen¬
erate a signal to go low when A13,
A14 & A15 are low and substitute it
for A14' at the input (pin 13) of
IC13. Remember to pull NOT RAM CS
to +5V at the edge connector.
On the ZX81, pin 23B of the
edge connector is NOT ROM CS. Use
it to externally decode ROM by
pulling 23B to +5V except when you
want to select R0M.--K0
I've had a 3K MicroAce since
last January. My only problem is
that the voltage regulator gets hot
and the CPU goes ape. I mounted
the unit under the printed circuit
board of a Jameco Electronics JE
610 keyboard, parallel wiring the
keys and cutting PCB traces where
necessary to disable the sockets
set up for ICs on an ASCII basis.
I also moved the voltage regulator
as far away from the CPU as
possible. Now it works well.
Bill Harral, San Pablo, CA
Will the 8K floating point let
you use numbers larger than 32767?
Can it be used with the additional
16K memory expansion?
Charles N. Ryan, Sao Paulo, Brazil
You can use numbers up to 65535 on
the 8K ROM before you get subscript
out of range err#r. Arithmetic
overflow errors do not occur until
the number calculated exceeds about
10^°. The 8K ROM plus the 16K RAM
make a powerful larger system. --AZ
12
ZX81- -THE NEW STANDARD
While other manufacturers
lower the prices on machines that
won't sell, Clive Sinclair uses
technology to give more for less.
For only $149, you now get 8K
BASIC, continuous display, the
choice of channel 2 or 3 and a
newly styled case.
If you just want a computer to
use, the smaller ZX81 addresses
some user problems. The 8K ROM
bugs are fixed. Also, the dual¬
channel (2 & 3) modulator avoids
problems near TV transmitters since
you can switch to the unused band.
You get less screen interference
because the new case provides over¬
lapping metallization for better
shielding. You'll find new key
names, too: Rubout becomes Delete
and Newline becomes Enter. I like
the new keyboard feel--soft with a
longer travel than the ZX80.
Hardware hackers will enjoy
the fully socketed ICs and the five
SCREWS that hold the case together.
(Three are hidden beneath the feet,
which attach with double-sided
tape.) Inside, you'll find 28-pin
sockets on both RAM and ROM. This
allows plug-in upgrade to 2K memory
using the 4816 chip and changing
one jumper. The keyboard attaches
with 8- & 5-pin CONNECTORS. Also,
pin 23B of the connector now
carries the NOT ROM CS line so you
can add external ROM select.
While continuous display is
nice, you'll really like having a
choice of FAST or SLOW mode. You
may be surprised to learn how much
you depended on screen-f licker as a
typing clue. (I use FAST--with
flicker- -to type in programs, the
SLOW- -no flicker- -to run them.)
Problems remaining from the
ZX80 : partial address decoding for
memory and port locations, non¬
standard edge connectors, and no
direct video output.
All told, ZX81 represents an
improvement on the 8K ZX80 at a
substantially lower price. --K0
Z
4
z
c
z
Z
z
z
z
z
z
c
z
z
z
z
z
z
z
z
z
z
z
z
z
FIND CLEAN TAPE ON 8K
Quickly find the unused
section of tape for SAVEing 8K
programs on multi-program tapes on
any RAM size. Enter this program
arter the last one saved:
5 REM "FRESH"
SAVE "FRESH"
Next time, rewind the tape, type
LOAD "FRESH" and play.
When the screen displays code
0/0, stop the tape. Rewind just
enough so that you can save the new
program over and erase FRESH. SAVE
a new FRESH program at the end.
John Andrews, San Jose, CA
ZX81 AND 16K RAM SCHEMATICS
A new company, Heuristics, is
the exclusive distributor of ZX81 A
16K RAM pack schematics. They also
plan ZX81 hardware and software.
For info and a free catalog, write
David Ornstein, Heuristics, 25
Shute Path, Newton, MA, 02159.
ZZZZZZZZZZZZZZZZZZ
~^>t t
45 TITLES 4?
(in stock - 4K ROM)
For 1K-RAM ZX80s ^ °
in BASIC & Machine Code
YOUR choice :user-entry listings
(All <=$5) :tape AND listings
WRITE for free catalog: ~
ZETA Software SX1 L
P.O.Box 3522
Greenville, SC 29608-3522
In Europe, include $1 bill or DM2
stamp to:
DELTASOFT SX1
Osterfeldstr . 79 d
D-2000 Hamburg 54 Germany
zzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzz
COMING SOON . . . 8K/16K adventures &
scientific programs!
uuuuuuu uu
13
BOOK REVIEW: THE ZX81 COMPANION
Title: The ZX81 Companion
By : Bob Maunder
From: LINSAC, 68 Barker Road,
Middlesborough , TS5 5ES UK
Price: £7.95 (about $16.00)
Bob Maunder' s new book is very
different from The ZX80 Companion.
It aims to appeal to every ZX81
owner, but more to "students" of
computing whether at home or at
school .
Bob Maunder is the head of the
computing department at Hartlepool
College. His work there with the
ZX80 and ZX81 has led him to
concentrate his writing on the ZX81
in the education field.
The book is divided into four
sections :
Chapter 1--Graphics and Realtime
Techniques. A good chapter that
goes into the use of ZX81 graphics
to quite an advanced stage. You
are shown how to draw lines ,
circles and curves. Several good
games contain many useful ideas.
Chapter 2- - Inf ormation Processing.
In this 31-page chapter, Maunder
tried to show just how much busi¬
ness computing can be performed
with a 16K ZX81. He develops a
very complicated BASIC membership
program stage by stage. The finalfc
program enables a membership secre¬
tary to hold 80 records of 102
bytes each, allowing him to access
80 names, addresses and "interests"
in several ways. Overall this
program is successful, but I feel
that the chapter's main advantage
is in introducing you to such
advanced BASIC lines as:
5490 LET R$ (RN , 66 TO 73)=P$
which is daunting to beginners.
Chapter 3- -Education . This chapter
primarily discusses writing "like¬
able" programs. Several more game
programs here are all interesting
but not very advanced. Generally,
this chapter isn't very successful.
Chapter 4--The Monitor. To widen
the book's appeal, Maunder included
7 pages of text about the 8K moni¬
tor. In such a small section,
however, he does little but intro¬
duce the subject. He explains
hexadecimal arithmetic and gives a
hex display program with a large
character program. A list of 8K
ROM entry points is also given
(supplied by myself). Overall,
there is enough to give a modest
introduction to anyone who wants to
find out just what is in the ZX81's
monitor program. A further 11
pages disassembles the first half
of the monitor program. This
listing is not annotated, and the
book's first printing contains a
few disassembly errors.
The book will certainly do
well. It gives any ZX81 owner
plenty to work at. As a book, its
overall balance is very good.
Ian Losan, Skellingthorpe , UK
Team 4 in the UK seem to know how
to load old programs with new ROMs,
via software. We'll track it down.
MX16-16K RAM
FOR USE WITH THE
SINCLAIR ZX80®
RAM MODULE
AND
POWER SUPPLY
$89.95 PLUS
$3.00 SHIPPING
AND HANDLING
INSIGHT
1889 LEWIS DRIVE
NILES, MICHIGAN 49120
616-684-7868
M. C. / CHECK /M.O./V ISA /C.O.D.
14
8K/1K DIGITAL CLOCK
This program operates as a
digital clock, showing A.M. or P.M.
and changing at 12:00. To start
the clock, run the program, enter
A.M. or P.M. and enter the current
time as a 3 or 4 digit number. For
example, type 216 for 2:16 or 1005
for 10:05.
While the clock is running,
you can move it back 1 minute by
pressing the J key and up 1 minute
by pressing the K key. Pressing D
or F, the SLOW and FAST keys, will
cause the clock to run slower or
faster by l/60th second per minute.
If you are fascinated enough
to keep it running for days and
make fast and slow adjustments, you
may find Jaat P differs from 3572.
Type PRINT P to see its new value'
and change line 70.
Byte savers: Line 10, use
shift W for OR. Line 30, key INPUT
first, then cursor left and key
PRINT, use shift W for OR.
R.F. Fraser-Smith, Chicago, IL
10 PRINT "A.M. OR P.M. "
20 INPUT M$
30 PRINT " INPUT TIME IN FORM
352 OR 1107"
40 INPUT T
50 LET H=INT (T/100)
60 LET M=T-H* 100
70 LET P=35 7 2
80 CLS
90 GOTO 200
100 LET M=M+1
110 IF INKEY$="F" THEN LET P=P-
1
120 IF INKEY$="D" THEN LET P=P+
1
130 IF INKEY$= " J " THEN LET M=M-
2
140 IF M=6 0 THEN LET H=H+1
150 IF M=6 0 THEN LET M=0
160 'IF H= 1 3 THEN LET H= 1
1 70 LET C$=M$
180 IF H= 1 2 AND M=1 AND C$="A.M
. " THEN LET M$ = "P.M."
190 IF H=12 AND M=1 AND C$="P.M
. " THEN LET M$ = "A.M."
200 PRINT AT 2 1 , 1 8 ; H ; " . " ;M; " " •
M$ ; "
210 PAUSE P
220 POKE 16437,255
230 GOTO 100
Syntactic Sum: 30942, 8K
DEAR SINCLAIR RESEARCH
Here are 2 sides of a story we
hear occasionally--owners ' problems
with the ZX80 ' s reliability and
technical support. This letter,
edited for space, was sent to
Sinclair. The reply was addressed
to SYNTAX. --AZ
It is with great displeasure
that I am returning my Sinclair
ZX80 . I awaited the ZX80 1 s release
for several years, confident that I
would see another marvelous example
of the synthesis of economy and
power that have been the hallmarks
of the Sinclair name. I must admit
that I have been shown a computer
with tremendous power and poten¬
tial. But I have also been sub¬
jected to shoddy quality control
and indifferent customer support.
Since I received my ZX80 in
April, I have returned it twice for
replacement (apparently Sinclair
does not think it is worth repair¬
ing) > had my 16 K RAM module fail
twice, and had fatal errors in the
8K BASIC B£)M. The hardware fail¬
ures were the direct result of
being penny wise and pound foolish.
I called Sinclair on numerous occa¬
sions and wrote twelve letters. My
phone calls were futile. Sinclair
answered 3 of my letters . The
replies only proved my letters were
not read. This disease- - indiffer-
ence- -is destroying the customer
support of many businesses.
I am, needless to say, bitter
about my experience with Sinclair
Research and suggest that you deal
with these problems if you intend
to stay in the personal computer
field.
15
Lew Merrick, Lynnwood, WA
JRS SOFTWARE
19 WAYSIDE AVENUE, WORTHING, SUSSEX, BN13 3JU
TELEPHONE WORTHING 65691 (Evenings and Weekends only)
ZX80 PROGRAMMABLE MOVING DISPLAY
(4K ROM only)
Yes! This really is a genuine moving display, not
another pause routine. If you want moving, flicker
free displays I and who doesn't I then this is the
program for you. The secret lies in the ZX80's ability
to keep the display on your screen without the need
to use all of the time available to it. Normally the
ZX80 would be doing nothing during this spare time
but the programmable moving display cleverly
interupts to process your own instructions written in the simple but highly
effective JRS numeric code. Great care has been taken so that the processing of
your codes can always be interupted to return to the display routine at the
precise microsecond that is required to ensure that your T V. picture remains
completely rock-steady.
Normally a true moving display on a ZX80 would take weeks to write and you
would need to be an expert at machine-code programming. Now, at last, this
program offers you the ability to write your own true moving displays in under an
hour with no machine-code experience required whatsoever.
Cassette with Ik, 2k versions and 3 example programs plus FULL documentation
£4.95
* Awarded top place in ZX80 software review * in YOUR COMPUTER'
October 1981 issue
NEW - An ESSENTIAL addition to your IK RAM ZX81 (or ZX80 8K ROM)
afrMHOa (written by PAUL HOLMES)
Provides the following additional facilities : -
Line renumber — you state starting number and increment value.
Search and replace — changes every occurence of a character as you require.
Free space —tells you how many free bytes you have left
SPECIAL GRAPHICS ROUTINES
Hyper graphics mode — graphics never seen on a ZX81 before.
Open — instantly sets up as many empty print lines as you require.
Fill — used in conjunction with OPEN fills your screen instantly with your
specified character
Reverse — changes each character on your screen to its inverse video.
TAPE ROUTINE - provides a system WAIT condition until a signal is received in
the cassette ear jack — many uses !
All these routines are written in machine code and together take up only
164 BYTES of your precious RAM - an incredible achievement!!
The price is incredible too! ONLY £3.96 for cassette, including FULL instructions
and example programs.
ALSO available 16K version ONLY £4.95 which includes all the above PLUS:
GOTO's and GOSUB's included in line renumber.
Search for and list every line containing specified character.
ZX81 2K programs SLALOM and BLACK HOLES now available as listings only £1.25 each, £2 for both.
OVERSEAS CUSTOMERS Payment must be made in Sterling by International Money Order (available
PLEASE NOTE at your hank) Please add 50 pence to cover overseas postage.
Nigel Searle of Sinclair replies :
Mr. Merrick did not get an
individual reply to a letter
requesting technical information.
It is unfortunately the case that
when we sell a product for as
little as $100 that we are unable
to offer a great deal of technical
support. We give a very substan¬
tial amount of information in our
advertisements and are content for
people to make up their minds based
on that information whether to
purchase our product or not. The
computers come with a substantial
operating manual and mail order
customers may return the unit and
receive a full refund if they are
dissatisfied with the documentation
provided or for any other reason.
If we answered specifically
all individual questions we receive
by telephone and letter from owners
of our computers, we would certain¬
ly either go out of business or
have to raise our prices very
16
substantially. I believe we have
the right to determine the level of
technical support we are willing to
give our product. We do fully
accept the obligation to live up to
any promises in our advertising
about our money-back offer to mail
order customers and our 90-day
repair or replacement policy.
Mr. Merrick says his 8K ROM
contains faults and we told him
nothing about how we are going to
fix it. You know that this is not
true. We have made perfectly clear
to anyone who has asked that we
will replace faulty 8K ROMs at no
charge .
Mr. Merrick complains that his
ZX80 and 16K RAM have had to be
replaced a total of 3 times between
them. He remarks that his ZX80 was
replaced with a new unit when it
was returned. Obviously, if we had
to replace every ZX80 owner's
computer with 2 new computers, we
would not stay in business very
long. We have sold almost 50,000
computers in the United States
alone. Even assuming that only 270
of our computer fail in use, simple
mathematics tell us that there are
regrettably no fewer than 20 people
who have had to be sent 2 replace¬
ments for their original machine.
Obviously this is of little conso¬
lation to those affected, but is
the inevitable result of large unit
sales and a rton-zero failure rate.
Nigel Searle, Sinclair Research
IMPROVED 4K SINE CALCULATION
Use these lines in 4K programs
requiring sines between 0 and 90
degrees. X is the angle; S is its
sine. This equation produces error
less than 2E-03.
LET S=(179*X- ( ( ( ( 25 1 *X) / 1 0 0 ) *X)
/10) - ( ( ( ( ( (56*X)/20) *X)/100) *X)/
5) ) / 1 0
IF X> 3t AND X<6 5 THEN LET S-S + 2
PRINT "SIN " ; X ; " DEG- ";S; " E-03"
-*f -3* ate
Brian O'Brien, Weston, MA
4K/1K REVERSE
The object of this game,
rewritten from one published by
Creative Computing, is to get the
numbers in ascending order from
left to right. When the computer
asks for number to reverse, enter
how many numbers from left to right
you wish to reverse. For example:
YOUR LIST IS NOW:
234516789
Reversing 4 numbers gives you:
543216789
Now reversing 5 numbers will win:
123456789
Line 30 sets N=9 . The
computer accepts only numbers
between 0 and N. To change the
length of the list, change N in¬
line 30. If you enter 0 the
computer sets up a new list (line
250) . You can change line 250 to
250 IF R=0 THEN STOP so entering 0
ends the program.
Bill Eckel, Omaha, NE
30 LET N=9
40 DIM A (N)
50 LET T=0
100 LET A ( 1 ) =RND (N— 1 ) +1
1 1 0 FOR K=2 TO N
120 LET A (K) =RND (N)
1 30 FOR J=1 TO K-1
140 IF A(K)=A(J) THEN GO TO 120
150 NEXT J
160 NEXT K
210 GO SUB 600
220 PRINT
230 PRINT "NO. TO REVERSE"
240 INPUT R
250 IF R= 0 THEN GO TO 50
260 IF R=N OR R<N THEN GO TO 30
0
265 PRINT
270 PRINT "OOPS TOO MANY"
280 GO TO 240
300 LET T=T+ 1
310 FOR K=1 TO R/2
320 LET Z=A(K)
330 LET A ( K) =A ( R~K+ 1 )
340 LET A(R-K+1)=Z
350 NEXT K
360 GO SUB 600
400 FOR K=1 TO N
410 IF NOT A(K)=K THEN GO TO 22
0
420 NEXT K
500 PRINT
505 PRINT
510 PRINT "YOU WON IN ";T;" MOV
ES"
520 PRINT
5 30 PRINT "TRY AGAIN? (Y OR N) "
540 INPUT A$
550 IF A$="Y" THEN GO TO 50
555 PRINT
560 PRINT
565 PRINT
568 PRINT
570 PRINT , "OK HOPE YOU HAD FUN
580 STOP
600 CLS
605 PRINT
610 PRINT , "REVERSE"
620 PRINT
630 PRINT
640 PRINT "YOUR LIST IS NOW:"
650 PRINT
660 PRINT
670 FOR K=1 TO N
680 PRINT " " ; A ( K ) ;
690 NEXT K
700 PRINT
705 PRINT
710 RETURN
Syntactic Sum: -1 3568,- 4K
CHANGES TO RUN REVERSE ON 8K ROM
Reverse will not fit in IK RAM
on an 8K machine. With larger RAM
sizes, change these lines:
100 LET A ( 1 ) =INT (RND*10)
120 LET A ( K) =INT (RND*10)
260 IF R<=N THEN GOTO 300
310 FOR K=1 TO INT R/2
You can also change the many empty
PRINT lines (used in 4K machines to
arrange the display) to fewer PRINT
AT statements. To avoid getting 0
in your list, add:
105 J.F A ( 1 ) =0 THEN GOTO 100
125 IF A ( K ) = 0 THEN GOTO 120
To run in 8K with only IK of RAM,
try deleting the empty PRINT
statements and "user-friendly"
lines (like 520-570) . --AZ
17
BEGINNERS’ COLUMN: REM REVISITED
In January we saw that REM
statements in BASIC are used to
insert comments, or REMarks for the
programmer's benefit. The computer
ignores anything in a REM statement
when running the program.
Why, then, do some BASIC pro¬
grams contain a REM statement at
the beginning followed by garbage?
This REM statement differs from one
holding remarks; it holds machine
language (ML) in a BASIC program.
This method allows you to save and
load ML programs. When you see a
REM statement at the beginning of a
BASIC program with nonsense after
it, it's part of a ML program.
As we saw in the Jun.81 column
on PEEK and POKE commands , you can
direct the computer to put a number
at a specified address, or RAM
location. (RAM is random-access
memory, or where the computer
stores what you type in.)
ML programmers POKE machine
code into REM statements. This way
they can use a single line rather
than separate POKE lines. You can
POKE the numbers that comprise a ML
program (see Beginners' Loading ML
Programs, Aug. 81). A USR call (a
line using the BASIC command USR)
tells the computer to go to the
specified address and execute what
it finds there. The ML programmer
knows the location of the ML pro¬
gram and uses the USR call to send
the computer there. Here's how to
figure out the first address:
All BASIC programs start at a
fixed address- - 16424 in a 4K ROM
ZX80 (p.123 of ZX80 manual) and
16509 in an 8K ROM machine (p.171
of Sinclair 8K manual) . Each line
THE ZX80 BOOKSHELF LIBRARY OF CASSETTES
This attractive bookshelf folder (blue vinyl exterior, black interior)
contains a library of six Lamo-Lem 4K ROM cassettes, each held
firmly within a slot in the folder. Cassettes snap in and out with fin-
ger pressure. The 9% by 9V4 by 3/4*’folder stores your library of
cassettes easily and compactly on a bookshelf. It includes the fol¬
lowing cassette packages:
THE ZX80 HOME COMPUTER
Etch-A-Screen
Electronic Billboard
Composer
Calculator
Checkbook Balancer
THE CHEST OF CLASSICS
Lunar Lander
K-Trek
Life
Mindmaster
ANIGHT IN LAS VEGAS
Blackjack
Roulette
Craps
Slot machine
THE ZX80 BOOKSHELF CASSETTE LIBRARY — Six cassettes of
computer programs in a bookshelf folder with dozens of manuals,
reference cards , and full-color keyboard over^ys. Also, many addi¬
tional sheets, forms, and accessories, including a pad of coding
sheets. For all 4K ROM ZX80 and MicroAce computers .
THE ZX80 BUSINESS PACKAGE
Search & Save
VideoComp-4
VideoGraph
ZX80 IK DISASSEMBLER
Disassembler Program
Memory Test
SUPER Z
(Adds 7 new BASIC statements)
The Super Z Program
A Super Z Module
A Super Z Demonstration
$59.95
postpaid.
LAMO-LEM LABS, CODE Ill, BOX 2382, LA JOLLA, CA 92038
18
number, regardless of the number of
digits, uses 2 bytes in the 4K
machine and 4 bytes in the 8K
machine. Each byte occupies 1
memory location.
Each keystroke after the line
number uses exactly 1 byte. So REM
is stored in address 16426 when it
is the first word of the first line
of a 4K machine and 16513 on an 8K
machine. The first ML command will
be in the byte after REM.
OUR POLICY ON CONTRIBUTED MATERIAL
SYNTAX ZX80 invites you to express opinions related to the ZX80 and the
newsletter. We will print, as space allows, letters discussing items of general interest.
Of course, we reserve the right to edit letters to a suitable length and to refuse
publication of any material.
We welcome program listings for all levels of expertise. Programs can be for
any fun or useful purpose. We will test run each one before publishing it, but we
will not debug programs; please send only workable listings.
In return for your listing, we will pay you a token fee of $2.00 per program we
use. This payment gives us the nonexclusive right to use that program in any form,
world-wide. This means you can still use it, sell it, or give it away, and so can we.
We will consider submissions of news and hardware or software reviews. Please
keep articles short (350-400 words). Again, we reserve the right to edit accepted
articles to a suitable length. We will pay 7 cents per 6 characters, including spaces
and punctuation, for accepted articles.
When you send in programs for possible publication in SYNTAX, please
include the following information:
• How to operate the program, including what to input if it does not contain
prompts.
• Whether you can run the program over again and how.
• How to exit the program.
• The Syntactic Sum (using the Syntactic Sum program in the February, 1981,
issue).
• Whether it fits in IK or 2K RAM (or 16K when available).
• Whether it uses the 4K or 8K ROM.
We pay for this explanatory text at the same rate as for articles in addition to
payment for the program itself.
If you want us to return your original program listing or article, please include
a self-addressed, stamped envelope. Otherwise, we cannot return submitted material.
CLASSIFIED ADS
Got something to sell or swap? Or
are you looking for something
special? Use SYNTAX classifieds.
Reach thousands of other readers
for just $2.75 per line (4 line
min.). Send your ad, typed 35
characters per line, with payment
by 15th of any month for next
month’s issue to Classified Ads,
SYNTAX, RD 2 Box 457 Bolton Rd,
Harvard, MA, 01451.
D<$cD fans will love Solo Dungeons on
IK ZX80. For tape and instructions
send $5.50 to: The Hafling Box 454
Hallsville Texas 75650 2-3wks delv.
For Sale: ZX-80 (4K ROM IK RAM)
Learning Lab book and tapes and
back issuer of SYNC and SYNTAX.
All for $175. Call A1 , 201-666-3632 .
7 QUALITY GAMES ON CASSETTE- -$8 . 95
Mastermind (Play any difficulty up
to 6 out of 9), Doublemind, Slot
Machine, Craps, Tic Tac Toe (Chal¬
lenge the computer), Sub Rescue,
White Hot Number (Pit your score
against the computer's). All run
in 4K ROM/ IK RAM. NEW ENGLAND SOFT¬
WARE, Box 691, Hyannis , MA 02601.
SYNTAX ZX80 is published
monthly by a wholly-owned
subsidiary of The Harvard Group.
Syntax ZX80, Inc.
RD 2, Box 457, Harvard, MA 01451.
Telephone 617/456-3661.
12 issues, $29. Single issue, $4.
Publisher: Kirtland H. Olson
Editor: Ann L. Zevnik
Printed by Joseph E. Marhefka, Jr.
Clinton Offset Printers
Clinton, MA 01510
© Syntax ZX80, Inc., 1981. All
rights reserved. Photocopying
prohibited. ISSN 0273-2696
YES! Please send me 12 issues of SYNTAX for $29.
□ My check for $29 is enclosed. □ Please charge my □ MasterCard
Make checks payable to: □ VISA □ American Express
SYNTAX ZX80, INC. □ Diner’s Club account.
account number _ _
exp. date _ bank number (MC only) _
signature _
Name _ Title _
Organization _ _ _
Address _
City _ State _ _Zip
Day Phone_( _ } _ Evening Phone 1 )
ZX81-1
I own a □ Sinclair ZX80 □ Sinclair ZX81 Telephone orders call
□ Micro Ace computer. 617-456-3661
19
Programs -games & utility. Also
tech data, mods, plans, info, etc.
Send SASE for free goodies list
P.0. Box 3073 San Jose, CA 95156
ZX80/81 "Record"--at last a tape
record system! Save, load or enter
new 96 byte records. Ideal for
addresses, etc. Listing for all IK
machines (4K/8K ROM) $7.
"Directory"- -a simple program to
read tapes and display program
names. Listing (8K ROM) $5. Logan
Software, 24 Nurses Ln, Skelling-
thorpe, Lincoln, LN6 OTT, UK
From the SYNTAX bookshelf: Crash
Course in Microcomputers, $17.50
plus $1.50 shipping. Zilog Z80-Z80A
CPU Technical Manual, $7.50, Z80-
Assembly Language Programming
Manual, $15 (add 57> for postage and
handling). Sinclair's 4K ROM
listing with original designer's
comments, $40 inc. shipping.
SYNTAX Vol . 1 (Nov/Dec. 80) $5.
Other back issues, $4 each. Send
check or credit card no. to SYNTAX,
RD 2 Box 457, Bolton Rd. , Harvard,
MA, 01451 or call 617/456-3661.
ZX80 , SYNC + SYNTAX, back issues,
Learn Lab Books, Tapes. Used 5
mins. Novice too confused. $160.
John C/Gail 503/469-5331 days.
H\RV\RD
GROLP
Bolton Road, Harvard, Mass. 01451
Games for the ZX80 - 16K RAM/4K ROM
ZX80-Trek -- 5 levels of difficulty
with 20 battle command options.
Cribbage -- play cribbage with the
ZX80 as your challenging opponent.
Tank Battle -- destroy the ZX80 ' s
tank before it destroys yours.
Ins tructions+lis ting- $9.95 ea game
Above + on cassette- $14.95 ea game
A.Nisbet, 6 Moffatt Court, Rexdale,
Ontario, Canada, M9V 4E1.
Sinclair still has some used ZX80s
available for $49.95. These units
are sold "as is". You get a com¬
plete (but not necessarily working)
ZX80 with case and instruction
manual. At least the major ICs will
be socketed. If you need an extra
computer for spare parts or just
want to tinker with one, send your
order- -with check or money order
only--to Sinclair Research Ltd. , 50
Staniford St., Boston, MA, 02114.
«
FOR SALE: ZX80 (8K ROM/ IK RAM)
Super ZX80 Invasion Game & 4K ROM,
Sinclair Manual, all for only $110
Call Joe 201-772-0976 after 7pm.
ZX80 and MicroAce users often call
us looking for users' groups in
their areas. Send us information
about your users' group and we'll
make your whereabouts known.
First Class